//***********************************************************************
//	* Module:  std::string.h
//	* Author:  johnneyshi
//	* Modified: 2012��12��14�� 13:13:29
//	* Purpose: Declaration of the class std::string
//	***********************************************************************/

#pragma once
#include <string>
#include <list>
#include "JStubArgument.h"
class JString : public JStubArgument
{
public:

    JString() 
    {
    }
    JString(const std::string& _str);
    ~JString() 
    {
    }
    static std::string ToSmaller(std::string);
    static std::list<std::string> StrSplit(const std::string& s, const std::string& split);
    std::string str;
    int PackStubMessage(JInOutPut& _strea,int& _allSize);
    int UnPackStubMessage(JInOutPut& _strea);
};

//class std::string;
//
//class std::string
//{
//public:
//	int length;
//	char* str;
//	std::string(char* c);
//	std::string();
//	std::string(const std::string& s);
//	std::string& operator = (std::string& s);
//	std::string& operator = (const char* c);
//	std::string& operator + (const char* c);
//	std::string& operator + (std::string& s);
//	void operator += (const char* c);
//	void operator += (std::string& s);
//	bool operator < (const std::string& s);
//	~std::string();
//	static std::string& Empty();
//private:
//	static std::string emptyString;
//};
//
//class std::stringCmp
//{
//public:
//	bool operator() (const std::string& s1,const std::string& s2)
//	{
//		if(*(s1.str) < *(s2.str))
//		{
//			return true;
//		}
//		return false;
//	}
//	static bool std::stringCompare(const std::string& s1,const std::string& s2)
//	{
//		if(*(s1.str) < *(s2.str))
//		{
//			return true;
//		}
//		return false;
//	}
//};
